Messaging system

ABSTRACT

A method for processing a request from a first terminal to establish a communication session between the first terminal and a second terminal, the first terminal and the second terminal being operable to communicate via a telecommunication network, the method comprising: receiving at the telecommunication network a request from the first terminal to establish a communication session with the second terminal; determining whether the second terminal is available to support the communication session; and if the second terminal is determined not to be available to support the communication session, transmitting to the first terminal the address of a data set corresponding to the second terminal.

[0001] This invention relates to a messaging system.

[0002] In telecommunication systems, when one subscriber (the A-subscriber) calls another subscriber (the B-subscriber) in order to have a conversation over a voice channel it is possible that the B-subscriber may be unobtainable. This can happen for instance if the B-subscriber's equipment is not connected to the telecommunication network, or if the B-subscriber does not answer the call, or if the B-subscriber is already engaged in another session.

[0003] When the B-subscriber is unobtainable, it can be desirable for the A-subscriber to be given a message to report that fact. The message is often given as an audio message, which can be a generic voice message or a personal voice message pre-recorded by the B-subscriber. One method to give the message is by an answering device included in the B-subscriber's equipment. An example is a typical home answering machine as can be connected to a conventional land-line network, which can play a pre-recorded message over a voice communication channel from itself to the A-subscriber. Another method to give the message is by a messaging device included in the telecommunication network equipment. These systems are implemented in, for instance, IP-based or softswitch systems. The B-subscriber can record a message, and manage a voice mailbox either using dial tones or voice control. The transmission of the announcement to the A-subscriber is performed using the normal voice call means. This method has the advantage that the message can be provided even if the B-subscriber's equipment is not connected to the network at the time.

[0004] Conventionally, a messaging device included in the telecommunication network equipment is invoked when the network determines that the A-subscriber cannot be connected to the B-subscriber. The voice communication channel that would otherwise have been established between the A-subscriber and the B-subscriber is established between the A-subscriber and the messaging device. The messaging device retrieves a stored message and plays that message to the A-subscriber over that voice communication channel. The message could be a standard stored message or could be an individual stored message corresponding to the B-subscriber, which the B-subscriber has previously recorded.

[0005] The messaging arrangements described above have in common that the message is in voice/audio format and that it is sent to the A-subscriber over the same channel as the A-subscriber would have used to speak to the B-subscriber if he had been available.

[0006] Some PBX (private branch exchange) networks offer the possibility to send predefined or user-definable text messages which are stored and set in the PBX. Such PBXs are used with proprietary telephones that are arranged to display the text.

[0007] As communication increasingly moves to more diverse electronic media the messaging methods described above might come to be perceived as being somewhat restrictive. For example, in the fixture subscribers may wish to pass video, text or graphic messages instead of audio messages.

[0008] SIP (session initiation protocol) has been developed to perform call/session control functions including assisting in establishing IP (internet protocol) sessions between subscribers. The SIP protocol provides a number of standardised requests and responses by means of which the session control functions may be performed between terminals. The SIP protocol is published as IETF RFC 2543 (and revisions), currently available from http://www.ietf.org/rfc/rfc2543.txt?number=2543. The SIP protocol specifies a means whereby information can be transferred during session setup, but the protocol is lightly standardised and other than for essential session functions it does not specify the nature of the content that is carried by SIP messages.

[0009] According to one aspect of the present invention there is provided a method for processing a request from a first terminal to establish a communication session between the first terminal and a second terminal, the first terminal and the second terminal being operable to communicate via a telecommunication network, the method comprising: storing at the network the address of a data set corresponding to the second terminal; receiving at the telecommunication network a request from the first terminal to establish a communication session with the second terminal; determining whether the second terminal is available to support the communication session; and if the second terminal is determined not to be available to support the communication session, transmitting to the first terminal the address of a data set corresponding to the second terminal.

[0010] According to a second aspect of the present invention there is provided a SIP server of a communication network, the SIP server being configured to process SIP messages to establish communication sessions between terminals operable to communicate via the network, and to, in the event that a request from a first terminal to establish a communication session with a second terminal cannot be satisfied, transmit to the first terminal the address of a data set corresponding to the second terminal.

[0011] The method may comprise the step of, if the second terminal is determined to be available to support the communication session, establishing a communication session between the first terminal and the second terminal.

[0012] The data set may be a data file of a format in which a text, audio or video element can be embedded. The data file may be formatted in a mark-up language.

[0013] The address is an address in an address space of a publicly accessible data network. The publicly accessible data network may be the internet. The address may be a uniform resource locator.

[0014] The method may comprise the steps of: transmitting a request for the data set from the first terminal to the address; and transmitting the data set to the first terminal.

[0015] The first terminal maybe configurable to automatically transmit a request for the data set on receiving the address of the data set. Having received the address of the data set, the first terminal may be operable in response to user input to transmit the request for the data set.

[0016] The method may comprise the step of the first terminal presenting content of the data set to a user of the first terminal.

[0017] The communication session may be a voice communication session.

[0018] The first terminal may be configured to receive the data set over a data communication link.

[0019] The address of the data set may be transmitted to the second terminal in conjunction with an indication that the communication session cannot be established.

[0020] The address of the data set may be transmitted to the first terminal in a SIP message.

[0021] The data set may be a data file of a format in which a text, audio or video element can be embedded. The data file may be formatted in a mark-up language.

[0022] The method may comprise the step of storing the address of the data set. Alternatively, the method may comprise the step of generating an address of the data set as a function of an indication of the identity of the second terminal.

[0023] According to a third aspect of the present invention there is provided a method for processing a request from a first terminal to establish a communication session between the first terminal and a second terminal, the first terminal and the second terminal being operable to communicate via a telecommunication network, the method comprising: storing a data set corresponding to the second terminal, the data set being formatted in a mark-up language and having a media file embedded in it; receiving at the telecommunication network a request from the first terminal to establish a communication session with the second terminal; determining whether the second terminal is available to support the communication session; and if the second terminal is determined not to be available to support the communication session, transmitting the data set to the second terminal.

[0024] According to a further aspect of the present invention there is provided a SIP server of a communication network, the SIP server being configured to process SIP messages to establish communication sessions between terminals operable to communicate via the network, and to, in the event that a request from a first terminal to establish a communication session with a second terminal cannot be satisfied, transmit to the first terminal a data set corresponding to the second terminal, the data set being formatted in a mark-up language and having a media file embedded in it.

[0025] The method may comprise the step of, if the second terminal is determined to be available to support the communication session, establishing a communication session between the first terminal and the second terminal. The media file may represent a text, audio or video element. The data file may be formatted in HTML or XML.

[0026] The method may comprise the step of the first terminal presenting content of the data set to a user of the first terminal.

[0027] The communication session may be a voice communication session.

[0028] The data set may be transmitted to the first terminal over a data communication link.

[0029] The data set may be transmitted to the second terminal in conjunction with an indication that the communication session cannot be established. That message and/or the data set may be transmitted to the first terminal in a SIP message.

[0030] Due to the flexible nature of the invention, the invention is not limited to using the SIP protocol in a certain way. In addition, instead of SIP, a derivative of SIP could be used.

[0031] The present invention will now be described by way of example with reference to the accompanying drawing, in which:

[0032]FIG. 1 is a schematic diagram of a telecommunication system; and

[0033]FIG. 2 illustrates an example of signalling flow for a messaging function.

[0034] In the telecommunication system of FIG. 1, terminals 1 and 2 are capable of communicating with each other via a network shown generally at 3. Each terminal is considered to be operated by a subscriber. Typically a subscriber will be identified by means of an identification code stored in the terminal, for example by a SIM (subscriber identity module), whereby the subscriber's identity can be provided to the network. In this example, the network is a 3G (third generation) INS (Universal Mobile Telecommunications System) network. However, the present invention is not limited to use in that type of network. Only the salient parts of the network are shown in FIG. 1.

[0035] The network 3 includes a mobile core network 4 which performs 30 core network functions for permitting the terminals 1 and 2 to communicate with each other via the core network, as illustrated by links 5 and 6.

[0036] The network also includes a SIP application server 7. This is capable of serving SIP messages, as will be described in more detail below. The SIP server is capable of communicating over link 8 with the core network 4. The SIP server will typically be implemented as a general purpose server configured by software to operate according to a predetermined scheme. However, it could be implemented as dedicated hardware.

[0037] In this embodiment a web server 9 which is capable of serving page request made using HTTP (hypertext transfer protocol) is provided as part of the network. The exact means of deployment of the web server is not important, provided it is capable of serving pages to one or both of the terminals as described below. Instead of or in addition to a web (HTTP) server, a server operational according to one or more other protocols could be used.

[0038] Each of the terminals 1 and 2 includes SIP client and server applications. Typically, these will be implemented in software but they could be implemented as dedicated hardware. The SIP client and server applications of the terminals are arrange to allow sessions to be set up, broken down and otherwise controlled by means of the SIP protocol operated according to RFC 2543.

[0039] The operation of the system of FIG. 1 will now be described.

[0040] The core network 4 is arranged to use SIP server 7 to process SIP messages during the set-up of sessions to or from terminals that are connected to the network 3. To do so, core network 4 passes received SIP messages to SIP server 7 and SIP server 7 returns responses to those messages via the core network 4.

[0041] One specific aspect of the SIP server's operation is its response to the situation where, after a SIP request from the terminal of an A-subscriber to establish a session connection to the terminal of a B-subscriber, the network is incapable of establishing the session to the B-subscriber's terminal. This could happen, for instance, if the B-subscriber's terminal is not connected to the network 3 at that time. The SIP server is arranged so that in that situation it will return to the A-subscriber a message indicating a URL (uniform resource locator) or web address. The URL is conveniently one that has previously been provided to the SIP server by the B-subscriber and stored at the SIP server. The URL points to a server which is arranged to serve information in response to a request specifying that address. Conveniently, the B-subscriber will have stored at that address a web page that provides the information he wishes to give to an A-subscriber who has been unable to connect to his terminal. Audio and/or video items and/or items of other media could be embedded in the page. By downloading the page to his terminal the A-subscriber who has been unable to complete his connection can be provided with information in a variety of media.

[0042] One example of the operation of such a transaction will be described with reference to FIG. 2. The upper section of FIG. 2 shows the situation where a first subscriber configures the web page that is to be provided to A-subscribers who are unable to contact him. The lower section of FIG. 2 shows the situation where another subscriber tries unsuccessfully to establish a session to the first subscriber.

[0043] In the situation described in FIG. 2, the web server 9 of the network 3 is pre-configured to store a home page for each subscriber to the network. The address of the home page could be of a standard form that can be determined by the SIP server, for example:

[0044] www.[phone number of the subscriber in the network].[name of network].com

[0045] so the address could be a function of one or both of an identifier of the subscriber, such as the subscriber's number, and/or an identifier the network, such as the network's name.

[0046] Alternatively, the network 3 could comprise a database that stores a list of subscribers and the address of the home page of each subscriber.

[0047] For convenience, each home page could initially be stored with a generic content.

[0048] To modify the content of his home page a subscriber 10 (indicated as a B-subscriber in FIG. 2 for compatibility with the lower section of the figure) records or creates an audio announcement at step 20. The announcement could be a vocal message as read out by subscriber 10. The announcement is preferably stored in a widely compatible format such as .wav. The format is preferably a compressed format and preferably a digital audio format. A file containing the audio is stored temporarily at the terminal of subscriber 10.

[0049] The subscriber 10 then transmits a SIP message/notify message 21 to SIP server 7. That message includes the audio file. The file could be included in MIE (Multipurpose Internet Mail Extensions) format.

[0050] In response to receiving such a message the SIP server 7 is configured to determine the address of the home page of subscriber 10 as stored on web server 9, request the page from that address in step 22 over link 12 (FIG. 1) and then and retrieve the home page from that address (step 23).

[0051] The SIP server is configured to then modify the page according to a predetermined scheme to embed the audio file in the page. (Step 24). This can be done using MIME. An alternative would be to add to the page a cross-link to the audio file and to store the audio file at the address specified by that cross-link. Then the SIP server returns the modified page to the web server 9 for storage to replace the original page. (Step 25). This could be done using an HTTP-post method or a SIP/IMPP approach.

[0052] Subsequently the subscriber 10 unregisters from the network. (Step 26)

[0053] Referring to the lower section of FIG. 2, when another subscriber 11 wishes to initiate a session to subscriber 10, subscriber 11 (the A-subscriber for that proposed session) transmits a SIP invite message (step 30) to the network 3. That SIP invite message specifies subscriber 10 as the B-subscriber for that proposed session. The SIP invite message is passed to the SIP server 7 for processing. If the session can be connected then under the initiation of the SIP server the network establishes the session from subscriber 11 to subscriber 10. However, if the session cannot be established, this condition is determined by the SIP server. (Step 31). The SIP server is configured to, in that case, transmit to the A-subscriber 1 the address of the home page of the B-subscriber. That message is indicated at step 32. The SIP server could determine that address as a function of at least the B-subscriber's number, or from a database as described above.

[0054] On receiving the address of the home page of the B-subscriber the A-subscriber may transmit to that address a request for the page. (Step 33). The page is then served to the A-subscriber (step 34) and is displayed, played or otherwise presented to the A-subscriber by his terminal equipment. (Step 35). In this way the a variety of multimedia information stored as the B-subscriber's home page can be provided to the B-subscriber.

[0055] In the description above, the home page of subscriber 10 has been described as a web page.

[0056] Such a page could typically be coded in HTML (hypertext mark-up language) or XML (extensible mark-up language) or another mark-up language. Such a page could include and/or include links to items and/or files of a range of formats including text formats, graphic formats, audio formats and video formats. Instead of a home “page” another form of data representation could be used. For convenience the term “page” is used herein.

[0057] The home page may include a means of requesting and/or accepting input from a user to whom the page has been presented. The request may take the form of a text or audio message. The means of accepting input could be a text input box or an audio input means.

[0058] The server on which the home page is stored could be part of the network 3 or could be external to the network 3. If the server were external to the network 3 then subscriber 10 might have to use other means to alter the page's content. Wherever the server is, it is preferably responsive to a request directed to the address of the page to return the content of the page to the requesting terminal. This is conveniently achieved by means of a URL and the transfer is conveniently performed using HTTP (hypertext transfer protocol) but other means could be used instead. The address of the page is preferably an internet address.

[0059] The terminal of at least subscriber 10 suitably includes means for creating content of the web page, for example in text, audio/voice clip or video/still picture format. Such means could include one or more of a keypad, a microphone and a camera, together with means for coding, digitising, formatting, compressing and/or saving the data derived from such input means.

[0060] The terminal of at least subscriber 11 suitably includes a browser or other means of formatting and/or presenting the home page of subscriber 10. For this purpose the terminal may include a display and/or a speaker and an interpretation unit for the page. Conveniently, both terminals are capable of creating and saving messages and downloading and presenting messages.

[0061] As part of the step 32 which is performed in response to the session not being established the SIP server 7 could send a SIP message to the subscriber 10 to indicate according to the SEP protocol that the session cannot be established.

[0062] The step of requesting the home page of subscriber 10 could be performed automatically by terminal 11 when it receives the address of the home page, or could be triggered subsequently by the user of the terminal. Most preferably the terminal is configurable to allow it to operate in either of those modes. Bandwidth can usefully be saved if the subscriber 11 does not want to download the home page.

[0063] Instead of sending the address of the home page, the SIP server could send the data of the home page itself to the unsuccessful A-subscriber. To achieve this the SIP server could first download the home page from the web server 9 and then serve it to the A-subscriber. The page could be sent in a SIP message.

[0064] A web page may contain a single announcement or a plurality of different announcements. For example, a web page may contain announcements that are in the form of a video or an audio representation, a picture or a text announcement. The A-subscriber may be provided with a possibility to choose between the different announcements.

[0065] B-subscriber can be provided with one or more web pages. For example, the B-subscriber may make pages such that friends 1, 2 and 3 can be provided with URL_(—)1, friends 4 and 5 with URL_(—)2 and all the other callers may be provided with URL_(—)3. The idea in here is that the B-subscriber might want to tell to friends 1, 2 and 3 where he is, but the other callers may only receive an announcement that he is not at work. In other words, the URL send to the A-subscriber can be selected based on the identity of the person who is trying to reach the B-subscriber.

[0066] The data of the home page could be sent over a different channel or a different type of channel from the one that the A-subscriber tried to open to the B-subscriber. For example, whereas the channel that the A-subscriber tried to open could have been a voice and/or circuit switched channel, the channel over which the home page data is send could be a data and/or packet switched channel.

[0067] The subscribers' terminals could be telephones, preferably mobile telephones. The telephones could be operable according to the GSM (Global System for Mobile Communications) 3G/UMTS or GPRS (general packet radio service) or derivatives thereof. Alternative terminals include personal computers and portable computers.

[0068] The applicant draws attention to the fact that the present invention may include any feature or combination of features disclosed herein either implicitly or explicitly or any generalisation thereof, without limitation to the scope of any of the present claims. In view of the foregoing description it will be evident to a person skilled in the art that various modifications may be made within the scope of the invention. 

1. A method for processing a request from a first terminal to establish a communication session between the first terminal and a second terminal, the first terminal and the second terminal being operable to communicate via a telecommunication network, the method comprising: receiving at the telecommunication network a request from the first terminal to establish a communication session with the second terminal; determining whether the second terminal is available to support the communication session; and if the second terminal is determined not to be available to support the communication session, transmitting to the first terminal the address of a data set corresponding to the second terminal.
 2. A method as claimed in claim 1, comprising the step of, if the second terminal is determined to be available to support the communication session, establishing a communication session between the first terminal and the second terminal.
 3. A method as claimed in claim 1 or 2, wherein the data set is a data file of a format in which at least one of a text, audio or video element can be embedded.
 4. A method as claimed in claim 3, wherein the data file is formatted in a mark-up language.
 5. A method as claimed in claim 4, wherein the address is an address in an address space of a publicly accessible data network.
 6. A method as claimed in claim 5, wherein the publicly accessible data network is the internet.
 7. A method as claimed in claim 5 or 6, wherein the address is a uniform resource locator.
 8. A method as claimed in any preceding claim, comprising the steps of: transmitting a request for the data set from the first terminal to the address; and transmitting the data set to the first terminal.
 9. A method as claimed in claim 8, wherein the first terminal is configurable to automatically transmit a request for the data set on receiving the address of the data set.
 10. A method as claimed in claim 8 or 9, wherein, having received the address of the data set, the first terminal is operable in response to user input to transmit the request for the data set.
 11. A method as claimed in any of claims 8 to 10, comprising the step of the first terminal presenting content of the data set to a user of the first terminal.
 12. A method as claimed in any preceding claim, wherein the communication session is a voice communication session.
 13. A method as claimed in any preceding claim, wherein the first terminal is configured to receive the data set over a data communication link.
 14. A method as claimed in any preceding claim, wherein the address of the data set is transmitted to the second terminal in conjunction with an indication that the communication session cannot be established.
 15. A method as claimed in any preceding claim, wherein the address of the data set is transmitted to the first terminal in a SIP message.
 16. A method as claimed in any preceding claim, wherein said data set is selected from a plurality of data sets by means of the first terminal.
 17. A method as claimed in any preceding claim, wherein said data set is selected from a plurality of data sets based on information associated with the first terminal.
 18. A method as claimed in claim 17, wherein the selection is based on the identity of the user of the first terminal.
 19. A SIP server of a communication network, the SIP server being configured to process SIP messages to establish communication sessions between terminals operable to communicate via the network, and to, in the event that a request from a first terminal to establish a communication session with a second terminal cannot be satisfied, transmit to the first terminal the address of a data set corresponding to the second terminal.
 20. A SIP server as claimed in claim 19, wherein the data set is a data file of a format in which a text, audio or video element can be embedded.
 21. A SIP server as claimed in claim 20, wherein the data file is formatted in a mark-up language.
 22. A method for processing a request from a first terminal to establish a communication session between the first terminal and a second terminal, the first terminal and the second terminal being operable to communicate via a telecommunication network, the method comprising: storing a data set corresponding to the second terminal, the data set being formatted in a mark-up language and having a media file embedded in it; receiving at the telecommunication network a request from the first terminal to establish a communication session with the second terminal; determining whether the second terminal is available to support the communication session; and if the second terminal is determined not to be available to support the communication session, transmitting the data set to the second terminal.
 23. A method as claimed in claim 22, comprising the step of, if the second terminal is determined to be available to support the communication session, establishing a communication session between the first terminal and the second terminal.
 24. A method as claimed in claim 22 or 23, wherein the media file represents a text, audio or video element.
 25. A method as claimed in any of claims 22 to 24, wherein the data file is formatted in HTML or XML.
 26. A method as claimed in any of claims 22 to 25, comprising the step of the first terminal presenting content of the data set to a user of the first terminal.
 27. A method as claimed in any of claims 22 to 26, wherein the communication session is a voice communication session.
 28. A method as claimed in any of claims 22 to 27, wherein the data set is transmitted to the first terminal over a data communication link.
 29. A method as claimed in any of claims 22 to 28, wherein the data set is transmitted to the second terminal in conjunction with an indication that the communication session cannot be established.
 30. A method as claimed in any of claims 22 to 29, wherein the data set is transmitted to the first terminal in a SIP message.
 31. A SIP server of a communication network, the SIP server being configured to process SIP messages to establish communication sessions between terminals operable to communicate via the network, and to, in the event that a request from a first terminal to establish a communication session with a second terminal cannot be satisfied, transmit to the first terminal a data set corresponding to the second terminal, the data set being formatted in a mark-up language and having a media file embedded in it.
 32. A SIP server as claimed in claim 31, wherein the media file represents a text, audio or video element.
 33. A SIP server as claimed in claim 32 or 33, wherein the data file is formatted in HTML. 